<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>迭代器</title>
</head>
<body>
    <div>
        迭代器（Iterator）是一种接口，为不同的数据结构提供统一的访问机制。<br />
        任何数据结构只要不输 Iterator 接口（指的是：对象里的一个属性），就可以完成遍历操作。<br />
        1) ES6 新遍历命令 for ... of循环，Iterator 接口主要供 for ... of消费<br />
        2) 原生具备 iterator 接口的数据，如下都是部署了（iterator）的数据格式：<br />
        &nbsp;&nbsp;Array/ Arguments / Set / Map / String / TypeArray / NodeList
        3) 工作原理：
        &nbsp;&nbsp;a)
        &nbsp;&nbsp;b)
        &nbsp;&nbsp;c)
        &nbsp;&nbsp;d)
    </div>
    <script>
        const xiyou = ['唐僧','孙悟空','猪八戒','沙僧'];
        /*
         * for ... in 打印出 key
         * for ... or 打印出 value
         */
        for (let v of xiyou) {
            console.log(v);
        }
    </script>
</body>
</html>